package cn.itcast.nems.studentrecord.dto.studentrecord;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 
 * 学生所有学籍实际支付金额和实际退费金额 <p/>
 *
 * @author 刘曙
 *
 * @version 
 *
 * @since 2024年3月19日
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class StudentTotalRefundableAmountDTO implements Serializable {
    private static final long serialVersionUID = -3600590329427834008L;
    
    /** 全部支付类型：在线支付｜ONLINE_PAY、离线支付｜OFFLINE_PAY、退费｜REFUND、退转｜REFUND_TRANSFER、退费退回/冲回｜REFUND_ROLLBACK、费用转移｜FUND_TRANSFER */
    
    /** 学生ID */
    Integer studentId;
    
    /** 几种支付方式的合计金额 */
    /** 学生实际支付总额 = SUM(在线支付) + SUM(离线支付) */
    Integer actualPaymentAmount;
    
    /** 
     * 几种支付方式的合计金额 <br/>
     * 学生实际退费总额 = SUM(退费) + SUM(退费退回)  <br/> 
     * 注：退费的金额为负数、退费退回的金额为正数
     */
    Integer actualRefundAmount;
    
    /** 学生可退费金额合计 = 学生实际支付总额 - ABS(学生实际退费总额) */
    Integer totalRefundableAmount;
}
